home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 1 / Amiga Tools.iso / egs-tools / egs_dev-disk / egsdocs / egslayers.doc < prev    next >
Encoding:
Text File  |  1994-06-06  |  29.9 KB  |  1,254 lines

  1. TABLE OF CONTENTS
  2.  
  3. egslayers.library/EL_AndRectRegion
  4. egslayers.library/EL_AndRegionRegion
  5. egslayers.library/EL_AndSmartClip
  6. egslayers.library/EL_BackFillRect
  7. egslayers.library/EL_BeginUpdate
  8. egslayers.library/EL_CreateBehindLayer
  9. egslayers.library/EL_CreateLayerInfo
  10. egslayers.library/EL_CreateUpfrontLayer
  11. egslayers.library/EL_DelRectRegion
  12. egslayers.library/EL_DelRegionRegion
  13. egslayers.library/EL_DeleteLayer
  14. egslayers.library/EL_DupMoveRegion
  15. egslayers.library/EL_DupRegion
  16. egslayers.library/EL_EndUpdate
  17. egslayers.library/EL_FreeLayerInfo
  18. egslayers.library/EL_FreeRect
  19. egslayers.library/EL_FreeRegion
  20. egslayers.library/EL_FreeSmartList
  21. egslayers.library/EL_InstallLHook
  22. egslayers.library/EL_InstallLIHook
  23. egslayers.library/EL_Invalidate
  24. egslayers.library/EL_LayerToBack
  25. egslayers.library/EL_LayerToFront
  26. egslayers.library/EL_LockLayer
  27. egslayers.library/EL_LockLayerInfo
  28. egslayers.library/EL_LockLayers
  29. egslayers.library/EL_MoveLayer
  30. egslayers.library/EL_MoveLayerBehind
  31. egslayers.library/EL_MoveLayerInFront
  32. egslayers.library/EL_MoveRegion
  33. egslayers.library/EL_NewRect
  34. egslayers.library/EL_OrRectRegion
  35. egslayers.library/EL_OrRegionRegion
  36. egslayers.library/EL_RemoveRefreshRegion
  37. egslayers.library/EL_ScrollLayer
  38. egslayers.library/EL_SizeLayer
  39. egslayers.library/EL_UnlockLayer
  40. egslayers.library/EL_UnlockLayerInfo
  41. egslayers.library/EL_UnlockLayers
  42. egslayers.library/EL_UpdateBackMap
  43. egslayers.library/EL_UpdateFrontMap
  44. egslayers.library/EL_WhichLayer
  45.  
  46. egslayers.library/EL_AndRectRegion         egslayers.library/EL_AndRectRegion
  47.  
  48.    NAME
  49.     EL_AndRectRegion -- Ands a rectangle with a region
  50.  
  51.    SYNOPSIS
  52.     EL_AndRectRegion(oldList, new)
  53.                      A0       A1
  54.  
  55.     EB_ClipRectPtr EL_AndRectRegion(EB_ClipRectPtr, EB_ClipRectPtr)
  56.  
  57.    FUNCTION
  58.     Ands a rectangle with a region. The resulting region includes all
  59.     areas, that are in both source areas.
  60.  
  61.    INPUTS
  62.     oldList      - list of cliprects, describing an area, the list is
  63.                disposed during operation
  64.     new          - one cliprect
  65.  
  66.    RESULT
  67.     the resulting area
  68.  
  69.    SEE ALSO
  70.     EL_AndRegionRegion(), EL_OrRectRegion(), EL_DelRectRegion(),
  71.     EL_DupRegion()
  72.  
  73.  
  74. egslayers.library/EL_AndRegionRegion     egslayers.library/EL_AndRegionRegion
  75.  
  76.    NAME
  77.     EL_AndRegionRegion -- Ands two regions
  78.  
  79.    SYNOPSIS
  80.     EL_AndRegionRegion(oldList, newList)
  81.                        A0       A1
  82.  
  83.     EB_ClipRectPtr EL_AndRegionRegion(EB_ClipRectPtr, EB_ClipRectPtr)
  84.  
  85.    FUNCTION
  86.     Ands a region with an other region. The resulting region includes all
  87.     areas, that are in both source areas.
  88.  
  89.    INPUTS
  90.     oldList      - list of cliprects, describing an area, the list is
  91.                disposed during operation
  92.     newList      - list of cliprects, describing an area, the list is
  93.                disposed during operation
  94.  
  95.    RESULT
  96.     the resulting area
  97.  
  98.    SEE ALSO
  99.     EL_AndRectRegion(), EL_OrRegionRegion(), EL_DelRegionRegion(),
  100.     EL_DupRegion()
  101.  
  102.  
  103. egslayers.library/EL_AndSmartClip           egslayers.library/EL_AndSmartClip
  104.  
  105.    NAME
  106.     EL_AndSmartClip --
  107.  
  108.    SYNOPSIS
  109.     EL_AndSmartClip(smart, clip)
  110.                     A0     A1
  111.  
  112.     EL_SmartPtr EL_AndSmartClip(EL_SmartPtr, EB_ClipRectPtr)
  113.  
  114.    FUNCTION
  115.     Internal use only
  116.  
  117.    INPUTS
  118.     smart        -
  119.     clip         -
  120.  
  121.    RESULT
  122.  
  123.    SEE ALSO
  124.  
  125.  
  126. egslayers.library/EL_BackFillRect           egslayers.library/EL_BackFillRect
  127.  
  128.    NAME
  129.     EL_BackFillRect -- fill a rectangle using the back hook
  130.  
  131.    SYNOPSIS
  132.     EL_BackFillRect(layer, x, y, w, h)
  133.                     A0     D0 D1 D2 D3
  134.  
  135.     void EL_BackFillRect(EL_LayerPtr, WORD, WORD, WORD, WORD)
  136.  
  137.    FUNCTION
  138.     Fills a rectangle in a layer by using the layers back hook.
  139.  
  140.    INPUTS
  141.     layer        - the layer to work in
  142.     x, y         - top left corner
  143.     w, h         - size of the rectangle
  144.  
  145.    RESULT
  146.  
  147.    SEE ALSO
  148.     EL_InstallLHook(), EL_Invalidate()
  149.  
  150.  
  151. egslayers.library/EL_BeginUpdate             egslayers.library/EL_BeginUpdate
  152.  
  153.    NAME
  154.     EL_BeginUpdate -- Attempts to start refresh
  155.  
  156.    SYNOPSIS
  157.     EL_BeginUpdate(layer, key)
  158.                    A0     D0
  159.  
  160.     ULONG EL_BeginUpdate(EL_LayerPtr, LONG)
  161.  
  162.    FUNCTION
  163.     Attempts to start an update of a simple- (or smart- in some cases)
  164.     refresh layer. The refresh key determines if this is the actual
  165.     refresh. If not the function returns 0. During refresh the layer is
  166.     locked, and the normal clipping area is replaced by the damaged
  167.     area, so that drawing only takes place in the damaged area. The
  168.     refresh may be done in several steps, using EL_BeginUpdate and
  169.     EL_EndUpdate. The refresh key solves a problem, that can occur using
  170.     splitted refresh:
  171.  
  172.     - the user moves a window - an hidden area of a layer becomes
  173.       visible
  174.  
  175.     - the library sends a refresh message
  176.  
  177.     - the programm receives the refresh message
  178.  
  179.     - the programm calls EL_BeginUpdate(...)
  180.  
  181.     - the programm refreshes first part of the layer
  182.  
  183.     - the programm calls EL_EndUpdate(..FALSE)
  184.  
  185.     - the user moves a window
  186.  
  187.     - an hidden area of a layer becomes visible
  188.  
  189.     - the library sends a refresh message
  190.  
  191.     - the programm calls EL_BeginUpdate(...)
  192.  
  193.     - the programm refreshes second part of the layer, including the
  194.       second refresh area
  195.  
  196.     - the programm calls EL_EndUpdate(..TRUE), the library then frees
  197.       the refresh area
  198.  
  199.     - the programm receives the second refresh message, and refreshes an
  200.       empty area
  201.  
  202.     => the second area is not refreshed by the first refresh routine
  203.  
  204.     And now using a refresh key:
  205.  
  206.     - the user moves a window
  207.  
  208.     - an hidden area of a layer becomes visible
  209.  
  210.     - the library increments refresh key to 1, sends a refresh message
  211.  
  212.     - the programm receives the refresh message
  213.  
  214.     - the programm calls EL_BeginUpdate(... 1)
  215.  
  216.     - the programm refreshes first part of the layer
  217.  
  218.     - the programm calls EL_EndUpdate(..FALSE)
  219.  
  220.     - the user moves a window
  221.  
  222.     - an hidden area of a layer becomes visible
  223.  
  224.     - the library increments refresh key to 2, sends a refresh message
  225.  
  226.     - the programm calls EL_BeginUpdate(... 1)
  227.  
  228.     - call fails, programm terminates refresh
  229.  
  230.     - the programm receives the refresh message
  231.  
  232.     - the programm calls EL_BeginUpdate(... 2)
  233.  
  234.     - the programm refreshes first part of the layer
  235.  
  236.     - the programm calls EL_EndUpdate(..FALSE)
  237.  
  238.     - the programm calls EL_BeginUpdate(... 2)
  239.  
  240.     - the programm refreshes first part of the layer
  241.  
  242.     - the programm calls EL_EndUpdate(..TRUE)
  243.  
  244.     => both areas are refreshed by both routines
  245.  
  246.     If not terminated by the library (at BeginUpdate()), a refresh should
  247.     be carried out to the EndUpdate(l,TRUE) since only in this way the
  248.     "damage" Region is destroyed again.  If the refresh chain is never
  249.     ended with this convention, the "damage" Region grows over the
  250.     complete window, thus losing its meaning.
  251.  
  252.    INPUTS
  253.     layer        - layer, which to refresh
  254.     key          - refresh key, available in the refresh message
  255.  
  256.    RESULT
  257.     FALSE, if attempt fails, then just forget about refresh
  258.  
  259.    SEE ALSO
  260.     EL_EndUpdate(), egsintui.library/EL_BeginRefresh()
  261.  
  262.  
  263. egslayers.library/EL_CreateBehindLayer egslayers.library/EL_CreateBehindLayer
  264.  
  265.    NAME
  266.     EL_CreateBehindLayer -- creates a layer behind all others
  267.  
  268.    SYNOPSIS
  269.     EL_CreateBehindLayer(info, x, y, width, height, maxWidth, maxHeight, flags, color)
  270.                          A0    D0 D1 D2     D3      D4        D5         D6     D7
  271.  
  272.     EL_LayerPtr EL_CreateBehindLayer(EL_LayerInfoPtr, WORD, WORD, WORD, WORD, WORD, WORD, ULONG, LONG)
  273.  
  274.    FUNCTION
  275.     Creates a layer behind all other layers on a bitmap. If it fails
  276.     returns NULL. The layer need not be on the bitmap. If the type is
  277.     superbitmap, also allocates the needed bitmap.
  278.  
  279.    INPUTS
  280.     info         - layer info structure of the bitmap
  281.     x, y         - upper left edge of the layer
  282.     width,
  283.     height       - dimensions of the layer
  284.     maxWidth,
  285.     maxHeight    - maximum dimensions of the layer, used to allocate
  286.                background bitmap for superbitmap layers
  287.     flags        - flags from LayerFlagSet
  288.     color        - layers background color
  289.  
  290.    RESULT
  291.     an initialized layer, or NULL if the fucntion fails
  292.  
  293.    SEE ALSO
  294.     EL_CreateUpfrontLayer(), EL_CreateLayerInfo(), EL_DeleteLayer()
  295.  
  296.  
  297. egslayers.library/EL_CreateLayerInfo     egslayers.library/EL_CreateLayerInfo
  298.  
  299.    NAME
  300.     EL_CreateLayerInfo -- creates layer info structure for a bitmap
  301.  
  302.    SYNOPSIS
  303.     EL_CreateLayerInfo(map, port, width, height, color, pattern)
  304.                        A0   A1    D0     D1      D2     A2
  305.  
  306.     EL_LayerInfoPtr EL_CreateLayerInfo(E_EBitMapPtr, struct MsgPort *, WORD, WORD, LONG, E_EBitMapPtr)
  307.  
  308.    FUNCTION
  309.     Creates a layer info structure for a bitmap. This structure is needed
  310.     to use layers on this bitmap (or screen). The structure is completely
  311.     initialized and can be used to create layers immediately.
  312.  
  313.    INPUTS
  314.     map          - bitmap for the layer
  315.     port         - message port for refresh messages
  316.     width,
  317.     height       - layer info dimensions
  318.     color        - backgroundcolor
  319.     pattern      - pointer to an image to use as backimage, NULL to use
  320.                the backgroundcolor
  321.  
  322.    RESULT
  323.     an initialized layerinfo, or NULL if the fucntion fails
  324.  
  325.    SEE ALSO
  326.     EL_FreeLayerInfo(), EL_CreateBehindLayer(), EL_CreateUpfrontLayer()
  327.  
  328.  
  329. egslayers.library/EL_CreateUpfrontLayeregslayers.library/EL_CreateUpfrontLayer
  330.  
  331.    NAME
  332.     EL_CreateUpfrontLayer -- create a layer in front of all others
  333.  
  334.    SYNOPSIS
  335.     EL_CreateUpfrontLayer(info, x, y, width, height, maxWidth, maxHeight, flags, color)
  336.                           A0    D0 D1 D2     D3      D4        D5         D6     D7
  337.  
  338.     EL_LayerPtr EL_CreateUpfrontLayer(EL_LayerInfoPtr, WORD, WORD, WORD, WORD, WORD, WORD, ULONG, LONG)
  339.  
  340.    FUNCTION
  341.     Creates a layer in front of all other layers on a bitmap. If it fails
  342.     returns NULL. The layer need not be on the bitmap. If the type is
  343.     superbitmap, also allocates the needed bitmap.
  344.  
  345.    INPUTS
  346.     info         - layer info structure of the bitmap
  347.     x, y         - upper left edge of the layer
  348.     width,
  349.     height       - dimensions of the layer
  350.     maxWidth,
  351.     maxHeight    - maximum dimensions of the layer, used to allocate
  352.                background bitmap for superbitmap layers
  353.     flags        - flags from LayerFlagSet
  354.     color        - layers background color
  355.  
  356.    RESULT
  357.     an initialized layer, or NULL if the fucntion fails
  358.  
  359.    SEE ALSO
  360.     EL_CreateBehindLayer(), EL_CreateLayerInfo(), EL_DeleteLayer()
  361.  
  362.  
  363. egslayers.library/EL_DelRectRegion         egslayers.library/EL_DelRectRegion
  364.  
  365.    NAME
  366.     EL_DelRectRegion -- removes a rectangle out of a region
  367.  
  368.    SYNOPSIS
  369.     EL_DelRectRegion(oldList, new)
  370.                      A0       A1
  371.  
  372.     EB_ClipRectPtr EL_DelRectRegion(EB_ClipRectPtr, EB_ClipRectPtr)
  373.  
  374.    FUNCTION
  375.     Removes a rectangle out of a region. Returns a region, that conatins
  376.     all areas that are in oldList, but not in new.
  377.  
  378.    INPUTS
  379.     oldList      - list of cliprects, describing an area, the list is
  380.                disposed during operation
  381.     new          - cliprect describing a rectangle
  382.  
  383.    RESULT
  384.     the resulting region
  385.  
  386.    SEE ALSO
  387.     EL_DelRegionRegion(), EL_OrRectRegion(), EL_AndRectRegion(),
  388.     EL_DupRegion()
  389.  
  390.  
  391. egslayers.library/EL_DelRegionRegion     egslayers.library/EL_DelRegionRegion
  392.  
  393.    NAME
  394.     EL_DelRegionRegion -- removes a region out of an other
  395.  
  396.    SYNOPSIS
  397.     EL_DelRegionRegion(oldList, newList)
  398.                        A0       A1
  399.  
  400.     EB_ClipRectPtr EL_DelRegionRegion(EB_ClipRectPtr, EB_ClipRectPtr)
  401.  
  402.    FUNCTION
  403.     Removes a region out of an other. Returns a region containing all
  404.     areas that where included in oldList but not in newList.
  405.  
  406.    INPUTS
  407.     oldList      - list of cliprects, describing an area, the list is
  408.                disposed during operation
  409.     newList      - list of cliprects, describing an area, the list is
  410.                disposed during operation
  411.  
  412.    RESULT
  413.     the resulting region
  414.  
  415.    SEE ALSO
  416.     EL_DelRectRegion(), EL_OrRegionRegion(), EL_AndRegionRegion(),
  417.     EL_DupRegion()
  418.  
  419.  
  420. egslayers.library/EL_DeleteLayer             egslayers.library/EL_DeleteLayer
  421.  
  422.    NAME
  423.     EL_DeleteLayer -- delete a layer
  424.  
  425.    SYNOPSIS
  426.     EL_DeleteLayer(layer)
  427.                    A0
  428.  
  429.     void EL_DeleteLayer(EL_LayerPtr)
  430.  
  431.    FUNCTION
  432.     Deletes a layer which has been created with EL_CreateUpfrontLayer()
  433.     or EL_CreateBehindLayer()
  434.  
  435.    NOTE
  436.     This call may result in refresh messages to other layers that
  437.     where hidden by your layer.
  438.  
  439.    INPUTS
  440.     layer        - the layer to delete
  441.  
  442.    RESULT
  443.  
  444.    SEE ALSO
  445.     EL_CreateBehindLayer(), EL_CreateUpfrontLayer(), EL_FreeLayerInfo()
  446.  
  447.  
  448. egslayers.library/EL_DupMoveRegion         egslayers.library/EL_DupMoveRegion
  449.  
  450.    NAME
  451.     EL_DupMoveRegion -- duplicate and move region
  452.  
  453.    SYNOPSIS
  454.     EL_DupMoveRegion(list, dx, dy)
  455.                      A0    D1  D2
  456.  
  457.     EB_ClipRectPtr EL_DupMoveRegion(EB_ClipRectPtr, WORD, WORD)
  458.  
  459.    FUNCTION
  460.     Duplicates a region, and moves the new region by dx, dy (only the
  461.     structures are modified, nothing is really moved).
  462.  
  463.    INPUTS
  464.     list         - list of cliprects, describing an area
  465.  
  466.    RESULT
  467.     a copy of list, which is moved by dx, dy
  468.  
  469.    SEE ALSO
  470.     EL_DupRegion(), EL_MoveRegion(), EL_FreeRegion()
  471.  
  472.  
  473. egslayers.library/EL_DupRegion                 egslayers.library/EL_DupRegion
  474.  
  475.    NAME
  476.     EL_DupRegion -- duplicates a region
  477.  
  478.    SYNOPSIS
  479.     EL_DupRegion(old)
  480.                  A0
  481.  
  482.     EB_ClipRectPtr EL_DupRegion(EB_ClipRectPtr)
  483.  
  484.    FUNCTION
  485.     Duplicates a region, by duplicating all cliprects. The original
  486.     region is not touched.
  487.  
  488.    INPUTS
  489.     old          - source of the copy
  490.  
  491.    RESULT
  492.     a deep copy of old
  493.  
  494.    SEE ALSO
  495.     EL_DupMoveRegion(), EL_FreeRegion(), EL_FreeRect(), EL_NewRect()
  496.  
  497.  
  498. egslayers.library/EL_EndUpdate                 egslayers.library/EL_EndUpdate
  499.  
  500.    NAME
  501.     EL_EndUpdate -- end or suspend an update cycle
  502.  
  503.    SYNOPSIS
  504.     EL_EndUpdate(layer, done)
  505.                  A0     D0
  506.  
  507.     void EL_EndUpdate(EL_LayerPtr, ULONG)
  508.  
  509.    FUNCTION
  510.     Ends a phase of refreshing a layer. If done is FALSE then the
  511.     damaged area is preserved, so the refresh can be continued else, the
  512.     area is disposed.
  513.  
  514.    INPUTS
  515.     layer        - the layer to terminate refresh
  516.     done         - flag, if TRUE the refresh is finished, if FALSE the
  517.                refresh is only suspended, and has to be completed
  518.                later
  519.  
  520.    RESULT
  521.  
  522.    SEE ALSO
  523.     EL_BeginUpdate(), egsintui.library/EI_EndRefresh()
  524.  
  525.  
  526. egslayers.library/EL_FreeLayerInfo         egslayers.library/EL_FreeLayerInfo
  527.  
  528.    NAME
  529.     EL_FreeLayerInfo -- destructs a layer info
  530.  
  531.    SYNOPSIS
  532.     EL_FreeLayerInfo(info)
  533.                      A0
  534.  
  535.     void EL_FreeLayerInfo(EL_LayerInfoPtr)
  536.  
  537.    FUNCTION
  538.     Frees a layer info structure and all associated structures. Also
  539.     frees all open layers on that bitmap
  540.  
  541.    INPUTS
  542.     info         - the structure to free
  543.  
  544.    RESULT
  545.  
  546.    SEE ALSO
  547.     EL_CreateLayerInfo(), EL_DeleteLayer()
  548.  
  549.  
  550. egslayers.library/EL_FreeRect                   egslayers.library/EL_FreeRect
  551.  
  552.    NAME
  553.     EL_FreeRect -- free a cliprect
  554.  
  555.    SYNOPSIS
  556.     EL_FreeRect(rect)
  557.                 A0
  558.  
  559.     void EL_FreeRect(EB_ClipRectPtr)
  560.  
  561.    FUNCTION
  562.     Moves a cliprect back to the free pool. The cliprects are cached, so
  563.     you may not access the cliprect after this operation.
  564.  
  565.    INPUTS
  566.     rect         - the cliprect you don't need anymore
  567.  
  568.    RESULT
  569.  
  570.    SEE ALSO
  571.     EL_FreeRegion(), EL_NewRect(), EL_DupRegion()
  572.  
  573.  
  574. egslayers.library/EL_FreeRegion               egslayers.library/EL_FreeRegion
  575.  
  576.    NAME
  577.     EL_FreeRegion -- free a region
  578.  
  579.    SYNOPSIS
  580.     EL_FreeRegion(old)
  581.                   A0
  582.  
  583.     void EL_FreeRegion(EB_ClipRectPtr)
  584.  
  585.    FUNCTION
  586.     Moves a list of cliprects back to the free pool. The cliprects are
  587.     cached, so you may not access the region after this operation.
  588.  
  589.    INPUTS
  590.     old          - the region you don't need anymore
  591.  
  592.    RESULT
  593.  
  594.    SEE ALSO
  595.     EL_FreeRect(), EL_NewRect(), EL_DupRegion(), EL_DupMoveRegion()
  596.  
  597.  
  598. egslayers.library/EL_FreeSmartList         egslayers.library/EL_FreeSmartList
  599.  
  600.    NAME
  601.     EL_FreeSmartList --
  602.  
  603.    SYNOPSIS
  604.     EL_FreeSmartList(smart)
  605.                      A0
  606.  
  607.     void EL_FreeSmartList(EL_SmartPtr)
  608.  
  609.    FUNCTION
  610.     Internal use
  611.  
  612.    INPUTS
  613.     smart        -
  614.  
  615.    RESULT
  616.  
  617.    SEE ALSO
  618.  
  619.  
  620. egslayers.library/EL_InstallLHook           egslayers.library/EL_InstallLHook
  621.  
  622.    NAME
  623.     EL_InstallLHook -- install a layer backfill hook
  624.  
  625.    SYNOPSIS
  626.     EL_InstallLHook(layer, hook)
  627.                     A0     A1
  628.  
  629.     void EL_InstallLHook(EL_LayerPtr, EL_BackHookPtr)
  630.  
  631.    FUNCTION
  632.     Installs a back fill hook in a layer. The layer background is filled
  633.     immediately with this function. If NULL is passed as hook, then the
  634.     original back color is used again.
  635.  
  636.    INPUTS
  637.     layer        - the layer to install the hook on
  638.     hook         - an instance of EL_BackHook
  639.  
  640.    RESULT
  641.  
  642.    SEE ALSO
  643.     EL_BackFillRect(), EL_InstallLIHook()
  644.  
  645.  
  646. egslayers.library/EL_InstallLIHook         egslayers.library/EL_InstallLIHook
  647.  
  648.    NAME
  649.     EL_InstallLIHook -- install a layer info backfill hook
  650.  
  651.    SYNOPSIS
  652.     EL_InstallLIHook(info, hook)
  653.                      A0    A1
  654.  
  655.     void EL_InstallLIHook(EL_LayerInfoPtr, EL_BackHookPtr)
  656.  
  657.    FUNCTION
  658.     Installs a back fill hook in a layer info. The screen background is
  659.     filled immediately with this function. If NULL is passed as hook,
  660.     then the original screen back color or pattern is used again.
  661.  
  662.    INPUTS
  663.     info         - the layer info to install the hook in
  664.     hook         - an instance of EL_BackHook
  665.  
  666.    RESULT
  667.  
  668.    SEE ALSO
  669.     EL_InstallLHook()
  670.  
  671.  
  672. egslayers.library/EL_Invalidate               egslayers.library/EL_Invalidate
  673.  
  674.    NAME
  675.     EL_Invalidate -- invalidate a region in a layer
  676.  
  677.    SYNOPSIS
  678.     EL_Invalidate(layer, region, clear)
  679.                   A0     A1      D0
  680.  
  681.     void EL_Invalidate(EL_LayerPtr, EB_ClipRectPtr, BOOL)
  682.  
  683.    FUNCTION
  684.     Invalidates a region in a layer. The region is added to the invalid
  685.     list and a message is send, if requiered. This function can be used
  686.     to force a redraw of an area of a layer/window. It is for example
  687.     used by EG_ScrollRaster().
  688.  
  689.    INPUTS
  690.     region       - a list of clip rects. It is not freed after usage,
  691.                so the caller has to take care of it himself.
  692.  
  693.    RESULT
  694.  
  695.    SEE ALSO
  696.     EL_BackFillRect(), EL_BeginUpdate()
  697.  
  698.  
  699. egslayers.library/EL_LayerToBack             egslayers.library/EL_LayerToBack
  700.  
  701.    NAME
  702.     EL_LayerToBack -- moves a layer to back
  703.  
  704.    SYNOPSIS
  705.     EL_LayerToBack(layer)
  706.                    A0
  707.  
  708.     void EL_LayerToBack(EL_LayerPtr)
  709.  
  710.    FUNCTION
  711.     Moves a layer behind all other layers on this bitmap
  712.  
  713.    NOTE
  714.     This call may result in refresh messages to be send.
  715.  
  716.    INPUTS
  717.     layer        - the layer to rearrange
  718.  
  719.    RESULT
  720.  
  721.    SEE ALSO
  722.     EL_LayerToFront(), EL_MoveLayerBehind(), EL_MoveLayerInFront()
  723.  
  724.  
  725. egslayers.library/EL_LayerToFront           egslayers.library/EL_LayerToFront
  726.  
  727.    NAME
  728.     EL_LayerToFront -- moves a layer to front
  729.  
  730.    SYNOPSIS
  731.     EL_LayerToFront(layer)
  732.                     A0
  733.  
  734.     void EL_LayerToFront(EL_LayerPtr)
  735.  
  736.    FUNCTION
  737.     Moves a layer in front of all other layers on this bitmap
  738.  
  739.    NOTE
  740.     This call may result in refresh messages to be send
  741.  
  742.    INPUTS
  743.     layer        - the layer ot rearrange
  744.  
  745.    RESULT
  746.  
  747.    SEE ALSO
  748.     EL_LayerToBack(), EL_MoveLayerBehind(), EL_MoveLayerInFront()
  749.  
  750.  
  751. egslayers.library/EL_LockLayer                 egslayers.library/EL_LockLayer
  752.  
  753.    NAME
  754.     EL_LockLayer -- lock a layer
  755.  
  756.    SYNOPSIS
  757.     EL_LockLayer(layer)
  758.                  A0
  759.  
  760.     void EL_LockLayer(EL_LayerPtr)
  761.  
  762.    FUNCTION
  763.     Locks a layer for private access of a task. This has to be done,
  764.     before the cliplists of the layer are accessed. You should have not
  765.     locked any other layer yet, to avoid deadlocks. If you want to lock
  766.     more layers than one, you should enclose this by
  767.     EL_LockLayerInfo()...EL_UnlockLayerInfo(). The layer has to be
  768.     released by EL_UnlockLayer() to keep the system alive. If the layer
  769.     is already occupied by an other task, this function will wait for
  770.     release. "egslayers.library", "egsgfx.library" and "egsintui.library"
  771.     respect this convention so that a layer need not be locked explicitly
  772.     when calling functions from these libraries.
  773.  
  774.    INPUTS
  775.     layer        - the layer to be exclusively used.
  776.  
  777.    RESULT
  778.  
  779.    SEE ALSO
  780.     EL_LockLayerInfo(), EL_LockLayers(), EL_UnlockLayer()
  781.  
  782.  
  783. egslayers.library/EL_LockLayerInfo         egslayers.library/EL_LockLayerInfo
  784.  
  785.    NAME
  786.     EL_LockLayerInfo -- lock layer info structure
  787.  
  788.    SYNOPSIS
  789.     EL_LockLayerInfo(info)
  790.                      A0
  791.  
  792.     void EL_LockLayerInfo(EL_LayerInfoPtr)
  793.  
  794.    FUNCTION
  795.     Locks a layer info structure for private access of one task. This
  796.     call has to be paired by an EL_UnlockLayerInfo(). If the layerinfo
  797.     is allready occupied by an other task, this function will wait for
  798.     release.
  799.  
  800.    INPUTS
  801.     info         - the layer info to be exclusively used
  802.  
  803.    RESULT
  804.  
  805.    SEE ALSO
  806.     EL_LockLayers(), EL_LockLayer(), EL_UnlockLayerInfo()
  807.  
  808.  
  809. egslayers.library/EL_LockLayers               egslayers.library/EL_LockLayers
  810.  
  811.    NAME
  812.     EL_LockLayers -- lock all layers of a bitmap
  813.  
  814.    SYNOPSIS
  815.     EL_LockLayers(info)
  816.                   A0
  817.  
  818.     void EL_LockLayers(EL_LayerInfoPtr)
  819.  
  820.    FUNCTION
  821.     Locks all layers of a bitmap for private access by one task. This
  822.     call has to be paired by EL_UnlockLayers. This function will first
  823.     lock the layerinfo structure then locking all layers. If a layer is
  824.     allready occupied by an other task, this function will wait for
  825.     release. All layer functions do a EL_LockLayers...EL_UnlockLayers
  826.     during execution.
  827.  
  828.    INPUTS
  829.     info         - the layer info to lock all layers in
  830.  
  831.    RESULT
  832.  
  833.    SEE ALSO
  834.     EL_LockLayer(), EL_LockLayerInfo(), EL_UnlockLayers()
  835.  
  836.  
  837. egslayers.library/EL_MoveLayer                 egslayers.library/EL_MoveLayer
  838.  
  839.    NAME
  840.     EL_MoveLayer -- move a layer
  841.  
  842.    SYNOPSIS
  843.     EL_MoveLayer(layer, dx, dy)
  844.                  A0     D0  D1
  845.  
  846.     void EL_MoveLayer(EL_LayerPtr, WORD, WORD)
  847.  
  848.    FUNCTION
  849.     Moves a layer by a specified amount. The layer may be moved outside
  850.     the bitmap.
  851.  
  852.    INPUTS
  853.     layer        - the layer to move
  854.     dx, dy       - offset from the original location
  855.  
  856.    RESULT
  857.  
  858.    SEE ALSO
  859.     EL_SizeLayers(), EL_WhichLayer()
  860.  
  861.  
  862. egslayers.library/EL_MoveLayerBehind     egslayers.library/EL_MoveLayerBehind
  863.  
  864.    NAME
  865.     EL_MoveLayerBehind -- move layer behind an other
  866.  
  867.    SYNOPSIS
  868.     EL_MoveLayerBehind(layer, behind)
  869.                        A0     A1
  870.  
  871.     void EL_MoveLayerBehind(EL_LayerPtr, EL_LayerPtr)
  872.  
  873.    FUNCTION
  874.     Moves a layer behind an other layer on the same bitmap.
  875.  
  876.    INPUTS
  877.     layer        - layer which to move
  878.     behind       - layer that will be in front of the other after
  879.                operation
  880.  
  881.    RESULT
  882.  
  883.    SEE ALSO
  884.     EL_LayerToBack(), EL_LayerToFront(), EL_MoveLayerInFront()
  885.  
  886.  
  887. egslayers.library/EL_MoveLayerInFront   egslayers.library/EL_MoveLayerInFront
  888.  
  889.    NAME
  890.     EL_MoveLayerInFront -- move layer before an other
  891.  
  892.    SYNOPSIS
  893.     EL_MoveLayerInFront(layer, front)
  894.                         A0     A1
  895.  
  896.     void EL_MoveLayerInFront(EL_LayerPtr, EL_LayerPtr)
  897.  
  898.    FUNCTION
  899.     Moves a layer before an other layer on the same bitmap.
  900.  
  901.    INPUTS
  902.     layer        - layer which to move
  903.     front        - layer that will be behind the other after
  904.                operation
  905.  
  906.    RESULT
  907.  
  908.    SEE ALSO
  909.     EL_LayerToBack(), EL_LayerToFront(), EL_MoveLayerBehind()
  910.  
  911.  
  912. egslayers.library/EL_MoveRegion               egslayers.library/EL_MoveRegion
  913.  
  914.    NAME
  915.     EL_MoveRegion -- move a region
  916.  
  917.    SYNOPSIS
  918.     EL_MoveRegion(list, dx, dy)
  919.                   A0    D1  D2
  920.  
  921.     EB_ClipRectPtr EL_MoveRegion(EB_ClipRectPtr, WORD, WORD)
  922.  
  923.    FUNCTION
  924.     Moves a region by dx, dy. This function only modifies the cliprect
  925.     list, it does not really move something.
  926.  
  927.    INPUTS
  928.     list         - list of cliprects, describing an area, the list is
  929.                disposed during operation
  930.  
  931.    RESULT
  932.     a moved list
  933.  
  934.    SEE ALSO
  935.     EL_DupMoveRegion()
  936.  
  937.  
  938. egslayers.library/EL_NewRect                     egslayers.library/EL_NewRect
  939.  
  940.    NAME
  941.     EL_NewRect -- create new cliprect
  942.  
  943.    SYNOPSIS
  944.     EL_NewRect()
  945.  
  946.  
  947.     EB_ClipRectPtr EL_NewRect(void)
  948.  
  949.    FUNCTION
  950.     Creates a cliprect by taking from the free pool. As ClipRects used
  951.     by the egslayers.library are bigger than those defined in the
  952.     egsblit.library, ClipRects used for Regions should be created by this
  953.     function (or by DupRegion()).
  954.  
  955.    INPUTS
  956.  
  957.    RESULT
  958.     a pointer to a cliprect structure
  959.  
  960.    SEE ALSO
  961.     EL_FreeRect(), EL_DupRegion(), EL_FreeRegion()
  962.  
  963.  
  964. egslayers.library/EL_OrRectRegion           egslayers.library/EL_OrRectRegion
  965.  
  966.    NAME
  967.     EL_OrRectRegion -- adds a rectangle to a region
  968.  
  969.    SYNOPSIS
  970.     EL_OrRectRegion(oldList, new)
  971.                     A0       A1
  972.  
  973.     EB_ClipRectPtr EL_OrRectRegion(EB_ClipRectPtr, EB_ClipRectPtr)
  974.  
  975.    FUNCTION
  976.     Adds a rectangle to a region. The result is a region that contains
  977.     all areas which had been in one ore both source regions.
  978.  
  979.    INPUTS
  980.     oldlist      - list of cliprects, describing an area, the list is
  981.                disposed during operation
  982.     new          - one cliprect
  983.  
  984.    RESULT
  985.     the resulting region
  986.  
  987.    SEE ALSO
  988.     EL_OrRegionRegion(), EL_DelRectRegion(), EL_AndRectRegion()
  989.  
  990.  
  991. egslayers.library/EL_OrRegionRegion       egslayers.library/EL_OrRegionRegion
  992.  
  993.    NAME
  994.     EL_OrRegionRegion -- adds a region to an other
  995.  
  996.    SYNOPSIS
  997.     EL_OrRegionRegion(oldList, newList)
  998.                       A0       A1
  999.  
  1000.     EB_ClipRectPtr EL_OrRegionRegion(EB_ClipRectPtr, EB_ClipRectPtr)
  1001.  
  1002.    FUNCTION
  1003.     Adds a region to an other. The result is a region that contains all
  1004.     areas which had been in one ore both source regions.
  1005.  
  1006.    INPUTS
  1007.     oldlist      - list of cliprects, describing an area, the list is
  1008.                disposed during operation
  1009.     newlist      - list of cliprects, describing an area, the list is
  1010.                disposed during operation
  1011.  
  1012.    RESULT
  1013.     the resulting region
  1014.  
  1015.    SEE ALSO
  1016.     EL_OrRectRection(), EL_DelRegionRegion(), EL_AndRegionRegion()
  1017.  
  1018.  
  1019. egslayers.library/EL_RemoveRefreshRegionegslayers.library/EL_RemoveRefreshRegion
  1020.  
  1021.    NAME
  1022.     EL_RemoveRefreshRegion -- remove part of the refresh area
  1023.  
  1024.    SYNOPSIS
  1025.     EL_RemoveRefreshRegion(layer, region)
  1026.                            A0     A1
  1027.  
  1028.     void EL_RemoveRefreshRegion(EL_LayerPtr, EB_ClipRectPtr)
  1029.  
  1030.    FUNCTION
  1031.     Removes the supplied region from the refresh region. This function
  1032.     is used if the user scrolls a layer and thus damages the newly
  1033.     exposed area but refreshes this right away. This function is then
  1034.     used to tell layers that the area will be refreshed. This will change
  1035.     the RefreshKey in the layer, so the refresh message doesn't cause a
  1036.     refresh.
  1037.  
  1038.    INPUTS
  1039.     layer        - affected layer
  1040.     region       - area that the application is going to refresh now,
  1041.                in layer relative coordinates (i.e. window-relative)
  1042.  
  1043.    RESULT
  1044.     none
  1045.  
  1046.    SEE ALSO
  1047.     EL_Invalidate(), EL_BeginUpdate(), EL_EndUpdate()
  1048.  
  1049.  
  1050. egslayers.library/EL_ScrollLayer             egslayers.library/EL_ScrollLayer
  1051.  
  1052.    NAME
  1053.     EL_ScrollLayer -- scroll the contents of a layer
  1054.  
  1055.    SYNOPSIS
  1056.     EL_ScrollLayer(layer, dx, dy)
  1057.                    A0     D0  D1
  1058.  
  1059.     void EL_ScrollLayer(EL_LayerPtr, WORD, WORD)
  1060.  
  1061.    FUNCTION
  1062.     Scrolls the interior of a layer by dx, dy. This function will cause a
  1063.     refresh in smart- and simplerefresh layers. This has to be used if
  1064.     the visible part of a superbitmap layer has to be moved.
  1065.  
  1066.    INPUTS
  1067.     layer        - affected layer
  1068.     dx           - number of pixels to scroll horizontally
  1069.     dy           - number of pixels to scroll vertically
  1070.  
  1071.    RESULT
  1072.  
  1073.    SEE ALSO
  1074.     EL_MoveLayer(), EL_SizeLayer()
  1075.  
  1076.  
  1077. egslayers.library/EL_SizeLayer                 egslayers.library/EL_SizeLayer
  1078.  
  1079.    NAME
  1080.     EL_SizeLayer -- modify size of a layer
  1081.  
  1082.    SYNOPSIS
  1083.     EL_SizeLayer(layer, dx, dy)
  1084.                  A0     D0  D1
  1085.  
  1086.     void EL_SizeLayer(EL_LayerPtr, WORD, WORD)
  1087.  
  1088.    FUNCTION
  1089.     Modifies the visible size of a layer by dx, dy. This function will
  1090.     cause a refresh in smart- and simplerefresh layers. You should not
  1091.     resize a layer that much that its visble area exceeds the maximum
  1092.     given in EL_Create...Layer.
  1093.  
  1094.    INPUTS
  1095.     layer        - the layer to be resized
  1096.     dx, dy       - relative size changes
  1097.  
  1098.    RESULT
  1099.  
  1100.    SEE ALSO
  1101.     EL_MoveLayer(), EL_ScrollLayer()
  1102.  
  1103.  
  1104. egslayers.library/EL_UnlockLayer             egslayers.library/EL_UnlockLayer
  1105.  
  1106.    NAME
  1107.     EL_UnlockLayer -- unlock a layer
  1108.  
  1109.    SYNOPSIS
  1110.     EL_UnlockLayer(layer)
  1111.                    A0
  1112.  
  1113.     void EL_UnlockLayer(EL_LayerPtr)
  1114.  
  1115.    FUNCTION
  1116.     Unlocks a layer, pair to EL_LockLayer.
  1117.  
  1118.    INPUTS
  1119.     layer        - the layer that was locked
  1120.  
  1121.    RESULT
  1122.  
  1123.    SEE ALSO
  1124.     EL_LockLayer(), EL_UnlockLayerInfo(), EL_UnlockLayers()
  1125.  
  1126.  
  1127. egslayers.library/EL_UnlockLayerInfo     egslayers.library/EL_UnlockLayerInfo
  1128.  
  1129.    NAME
  1130.     EL_UnlockLayerInfo -- unlock layer info structure
  1131.  
  1132.    SYNOPSIS
  1133.     EL_UnlockLayerInfo(info)
  1134.                        A0
  1135.  
  1136.     void EL_UnlockLayerInfo(EL_LayerInfoPtr)
  1137.  
  1138.    FUNCTION
  1139.     Unlocks a layer info structure, pair to EL_LockLayerInfo.
  1140.  
  1141.    INPUTS
  1142.     info         - the layer info that was locked
  1143.  
  1144.    RESULT
  1145.  
  1146.    SEE ALSO
  1147.     EL_LockLayerInfo(), EL_UnlockLayers(), EL_UnlockLayer()
  1148.  
  1149.  
  1150. egslayers.library/EL_UnlockLayers           egslayers.library/EL_UnlockLayers
  1151.  
  1152.    NAME
  1153.     EL_UnlockLayers -- unlock all layers of an layer info
  1154.  
  1155.    SYNOPSIS
  1156.     EL_UnlockLayers(info)
  1157.                     A0
  1158.  
  1159.     void EL_UnlockLayers(EL_LayerInfoPtr)
  1160.  
  1161.    FUNCTION
  1162.     Unlocks all layers of a layer info structure, pair to EL_LockLayers.
  1163.  
  1164.    INPUTS
  1165.     info         - the layer info to unlock all layers in
  1166.  
  1167.    RESULT
  1168.  
  1169.    SEE ALSO
  1170.     EL_LockLayers(), EL_UnlockLayerInfo(), EL_UnlockLayer()
  1171.  
  1172.  
  1173. egslayers.library/EL_UpdateBackMap         egslayers.library/EL_UpdateBackMap
  1174.  
  1175.    NAME
  1176.     EL_UpdateBackMap -- updates the back map of a superbitmap layer
  1177.  
  1178.    SYNOPSIS
  1179.     EL_UpdateBackMap(layer)
  1180.                      A0
  1181.  
  1182.     void EL_UpdateBackMap(EL_LayerPtr)
  1183.  
  1184.    FUNCTION
  1185.     Updates the backmap of a superbitmap window, by copying the visible
  1186.     part into the backmap. This is handy to have all information in one
  1187.     bitmap, in order to save an image etc. You should lock the layer, to
  1188.     make sure it is not altered, while using the backmap. If you modify
  1189.     the backmap you should call EL_UpdateFrontMap(), to modify the
  1190.     visible part too.
  1191.  
  1192.    INPUTS
  1193.     layer        - the layer to update
  1194.  
  1195.    RESULT
  1196.  
  1197.    SEE ALSO
  1198.     EL_UpdateFrontMap(), EL_ScrollLayer()
  1199.  
  1200.  
  1201. egslayers.library/EL_UpdateFrontMap       egslayers.library/EL_UpdateFrontMap
  1202.  
  1203.    NAME
  1204.     EL_UpdateFrontMap -- update visible part of a superbitmap layer
  1205.  
  1206.    SYNOPSIS
  1207.     EL_UpdateFrontMap(layer)
  1208.                       A0
  1209.  
  1210.     void EL_UpdateFrontMap(EL_LayerPtr)
  1211.  
  1212.    FUNCTION
  1213.     Updates the visible part of a superbitmap layer by copying the
  1214.     visible parts from the backmap to screen. If you want to render in
  1215.     the backmap, and then update the front map, you should surround the
  1216.     rendering by a EL_LockLayer()...EL_UnlockLayer() pair, to make sure,
  1217.     that no parts of the visible area are copied to the backmap caused by
  1218.     user actions.
  1219.  
  1220.    INPUTS
  1221.     layer        - the layer to update
  1222.  
  1223.    RESULT
  1224.  
  1225.    SEE ALSO
  1226.     EL_UpdateFrontMap(), EL_ScrollLayer()
  1227.  
  1228.  
  1229. egslayers.library/EL_WhichLayer               egslayers.library/EL_WhichLayer
  1230.  
  1231.    NAME
  1232.     EL_WhichLayer -- Which layer is a point in ?
  1233.  
  1234.    SYNOPSIS
  1235.     EL_WhichLayer(info, x, y)
  1236.                   A0    D0 D1
  1237.  
  1238.     EL_LayerPtr EL_WhichLayer(EL_LayerInfoPtr, WORD, WORD)
  1239.  
  1240.    FUNCTION
  1241.     Returns the topmost layer that conatins the given point. If no layer
  1242.     contains it returns NULL.
  1243.  
  1244.    INPUTS
  1245.     info         - the layer info to look in
  1246.     x, y         - coordinates to look at
  1247.  
  1248.    RESULT
  1249.     the layer the location is inside or NULL if none covers it
  1250.  
  1251.    SEE ALSO
  1252.  
  1253.  
  1254.